home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Games / Pentominoes 2.0 / Shell ƒ / window layer.h < prev   
Encoding:
Text File  |  1995-07-26  |  11.9 KB  |  110 lines  |  [TEXT/MMCC]

  1. #ifndef __WINDOW_LAYER_H__
  2. #define __WINDOW_LAYER_H__
  3.  
  4. #include "offscreen layer.h"
  5. #include "program globals.h"
  6. #if USE_DRAG
  7. #include <Drag.h>
  8. #endif
  9.  
  10. enum WindowAttributes
  11. {
  12.     kHasCloseBoxMask =                 0x00000001,
  13.     kHasZoomBoxMask =                 0x00000002,
  14.     kHasGrowBoxMask =                 0x00000004,
  15.     kHasModalBorderMask =             0x00000010,
  16.     kHasThickDropShadowMask =         0x00000020,
  17.     kHasDocumentTitlebarMask =         0x00001000,
  18.     kHasPaletteTitlebarMask =         0x00002000,
  19.     kHasRoundedTitlebarMask =         0x00004000,
  20.  
  21.     kWindowGadgetsMask =            0x0000000F,
  22.     kWindowAdornmentsMask =            0x00000FF0,
  23.     kWindowTitlebarMask =            0x000FF000
  24. };
  25.  
  26. typedef unsigned long WindowAttributes;
  27.  
  28. enum
  29. {
  30.     kActivateWindow                = TRUE,
  31.     kDeactivateWindow            = FALSE
  32. };
  33.  
  34. enum
  35. {
  36.     kAlwaysOpenNew                = TRUE,
  37.     kOpenOldIfPossible            = FALSE
  38. };
  39.  
  40. #if PRAGMA_ALIGN_SUPPORTED
  41. #pragma options align=mac68k
  42. #endif
  43. struct ExtendedWindowStruct
  44. {
  45.     WindowRecord    theWindow;                /* original window record */
  46.     unsigned long    magic;                    /* magic number to see if window is ours */
  47.     WindowAttributes    attrs;                /* attributes for window, see above enums */
  48.     short            windowIndex;            /* index of window in program's window list */
  49.     short            windowWidth;            /* width of window content, in pixels */
  50.     short            windowHeight;            /* height of window content, in pixels */
  51.     short            windowDepth;            /* current pixel depth of window */
  52.     short            maxDepth;                /* maximum pixel depth of window */
  53.     Boolean            active;                    /* window is active */
  54.     Boolean            autoCenter;                /* auto center window in main screen when opened */
  55.     Boolean            isFloat;                /* is floating window? */
  56.     Boolean            modified;                /* data in window has been modified since save? */
  57.     Boolean            drawGrowIconLines;        /* draw lines when drawing grow icon */
  58. #if USE_PRINTING
  59.     Boolean            isPrintable;            /* window can print */
  60. #else
  61.     Boolean            printFiller;
  62. #endif
  63. #if USE_DRAG
  64.     Boolean            draggable;                /* window supports drag manager */
  65. #else
  66.     Boolean            dragFiller;
  67. #endif
  68.     Boolean            wasVisible;                /* window was visible before suspending */
  69.     Point            initialTopLeft;            /* initial window bounds whenoat,
  70.     Boolean isDummy);
  71. extern    void MyDisposeWindow(WindowRef windowReference);
  72. extern    Boolean MySelectWindow(WindowRef windowToSelect);
  73. extern    void MyShowWindow(WindowRef windowToShow);
  74. extern    void MyHideWindow(WindowRef windowToHide);
  75. extern    void MyDragWindow(WindowRef windowToDrag, Point startPoint, const Rect *draggingBounds);
  76. extern    void MyMoveWindow(WindowRef theWindow, short h, short v, Boolean selectNow);
  77. extern    void MyGrowWindow(WindowRef theWindow, Point theGlobalPoint);
  78. extern    void MySizeWindow(WindowRef theWindow, short width, short height, Boolean updateNow);
  79. extern    void MyZoomWindow(WindowRef theWindow, short windowCode);
  80. extern    Boolean MySendBehind(WindowRef window, WindowRef behind);
  81. extern    WindowRef GetFrontDocumentWindow(void);
  82. extern    WindowRef GetLastFloatingWindow(void);
  83. extern    Boolean WindowIsModalQQ(WindowRef windowReference);
  84. extern    void DeactivateFloatersAndFirstDocumentWindow(void);
  85. extern    void ActivateFloatersAndFirstDocumentWindow(void);
  86. extern    void HideOneFloatingWindow(WindowRef floatingWindow);
  87. extern    void ShowOneFloatingWindow(WindowRef floatingWindow);
  88. extern    void SuspendFloatingWindows(void);
  89. extern    void ResumeFloatingWindows(void);
  90. extern    void ValidateWindowList(void);
  91. extern    void GetWindowPortRect(WindowRef windowReference, Rect *portRect);
  92. extern    Boolean WindowHasLayer(WindowRef theWindow);
  93. extern    Boolean WindowIsFloat(WindowRef theWindow);
  94. extern    WindowRef GetIndWindowRef(short index);
  95. extern    OSErr OpenTheIndWindow(short index, Boolean newStatus);
  96. extern    OSErr UpdateTheWindow(WindowRef theWindow);
  97. extern    Boolean CloseTheWindow(WindowRef theWindow);
  98. extern    void CloseAllDocumentWindows(void);
  99. extern    void GetMainScreenBounds(Rect *screenRect);
  100. extern    short GetBiggestDeviceDepth(WindowRef theWindow);
  101. extern    short GetWindowRealDepth(WindowRef theWindow);
  102. extern    Boolean GetWindowReallyIsColor(WindowRef theWindow);
  103. extern    void ArrangeWindows(void);
  104.  
  105. #ifdef __cplusplus
  106. }
  107. #endif
  108.  
  109. #endif
  110.